home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / comm2 / mmfrqs62.lha / REXX / MM_FileRequest.rexx
OS/2 REXX Batch file  |  1996-04-25  |  3KB  |  42 lines

  1. /*
  2. ** $VER: MM_FileRequest 0.62 (18.04.96)
  3. **
  4. ** Written by Paolo Carotenuto
  5. **
  6. */
  7.  
  8. DROP MM. ; PARSE ARG MM.Area MM.Num
  9.  
  10. /* --------------------------------------------- */
  11.  
  12. MM.PathCfg   = 'MM:Config/' ; MM.PrgName   = 'MM_FileRequest v0.62' ; MM.Copyright = '(C) 1994-96 Paolo Carotenuto' ; MM.LogLevel  = 2
  13.  
  14. /* --------------------------------------------- */
  15.  
  16. ADDRESS 'MAILMANAGER' ; CALL ReadConfig() ; MM_ReadMsg MM.Area MM.Num MM.Msg ; IF Rc = 0 THEN DO ; MM.File.Count = 0 ; DO k = 0 FOR MM.SearchFile.count ; Found = Trasforma(MM.SearchFile.k) ; MM_SearchInStem MM.Msg.Text Resp '"'Found'"' STR ; DO i = 0 FOR Resp.Count ; Len   = VERIFY(Resp.i,MM.SearchFile.k)-1 ; Part  = RIGHT(Resp.i,LENGTH(Resp.i)-Len) ; Testo = UPPER(SUBWORD(Part,1,1)) ; MM_SearchInStem MM.File Resp Testo STR ; IF Resp.Count = 0 THEN MM_AddToStem 'MM.File' 'Testo' ; END ; END ; IF MM.File.Count = 0 THEN DO ; CALL Requester(MM.PrgName, 'Sorry, NO File Found!! (Message #'MM.Num' in area 'MM.Area') ', '_Ok') ; EXIT ; END ; MM_SortStem MM.File ; MM_MultiSelReq MM.File Resp '"Select a files"' STR ; IF Rc = 1 THEN EXIT ; MM_RequestFiles '"'MM.Msg.FromAddr'"' Resp ; END ; EXIT
  17.  
  18. /* ---------------------------------------------------------------------- */
  19.  
  20. CheckFile: PROCEDURE EXPOSE MM. ; PARSE ARG Name ; IF LENGTH(Name) = 4 THEN RETURN ; MM_SearchInStem MM.File Resp Name STR ; IF Resp.Count = 0 THEN DO ; MM_AddToStem MM.File 'Name' ; END ; RETURN
  21.  
  22. /* ---------------------------------------------------------------------- */
  23.  
  24. ReadConfig: PROCEDURE EXPOSE MM. ; MM.SearchFile.Count = 0 ; MM_ReadStem MM.PathCfg||'MM_FileRequest.Cfg' Config ; IF Rc ~= 0 THEN DO ; SAY '*** Error: Can not open config "'MM.PathCfg'MM_FileRequest.cfg"' ;   EXIT 10 ; END ; DO l = 0 FOR Config.Count ; IF (LEFT(Config.l,1) ~= ';') & Config.l ~= '' THEN DO ;  PARSE VAR Config.l Keyword Dato  ; SELECT ;  WHEN UPPER(Keyword) = '#SEARCHFILE' THEN DO ; Dato = RIGHT(Dato,LENGTH(Dato)-1) ;  MM_AddToStem MM.SearchFile 'Dato' ; END ; OTHERWISE ; END ; END ; END ; MM_GetSysOp 'MM.SysOp' ; RETURN
  25.  
  26. /* ---------------------------------------------------------------------- */
  27.  
  28. WriteLog: PROCEDURE EXPOSE MM. ; PARSE ARG Testo ; MM_WriteLog 'Testo' MM.LogLevel ; RETURN
  29.  
  30. /* ---------------------------------------------------------------------- */
  31.  
  32. Requester: PROCEDURE EXPOSE MM. ; PARSE ARG Titolo, Testo, GadGets ; MM_Requester '"'Titolo'"' 'Testo' 'GadGets' ; RETURN
  33.  
  34. /* ---------------------------------------------------------------------- */
  35.  
  36. Replace: PROCEDURE ; PARSE ARG String, New, Old ; DO WHILE INDEX(String, Old) ~= 0 ; INTERPRET "PARSE VAR String l '"Old"' r" ; String = l || New || r ; END ; RETURN String
  37.  
  38. /* ---------------------------------------------------------------------- */
  39.  
  40. Trasforma: PROCEDURE EXPOSE MM. ; PARSE ARG String ; IF INDEX(String,'%')=0 THEN RETURN String ; String = Replace(String, '#?.???' ,'%N'  ) ; RETURN String
  41.  
  42.